Auto Scaling グループへロードバランサーを登録して確認する
こんにちは、yagiです。
本日は、AutoScalingGroupにロードバランサーを登録して確認する内容について記載します。
AutoScalingGroupにロードバランサーを登録することについて
Auto Scaling グループを Elastic Load Balancing ロードバランサーに登録すると、アプリケーションの負荷分散をセットアップできます。Elastic Load Balancing は Amazon EC2 Auto Scaling と連携して、正常な Amazon EC2 インスタンス間で着信トラフィックを分散します。これにより、アプリケーションのスケーラビリティと可用性が向上します。複数のアベイラビリティーゾーン内で Elastic Load Balancing を有効にして、アプリケーションの耐障害性を向上させることができます。
(公式ドキュメントからの引用)
なおヘルスチェックについてはインスタンスのステータスチェックとELBのヘルスチェックを確認することができます。
参考記事 Tutorial: Set up a scaled and load-balanced application AWS再入門2018 Amazon EC2 Auto Scaling編
設定してみる
上記公式ドキュメントのチュートリアルにしたがって進めていきます。 今回は以下のステップで進めます。
>Step 1. 起動テンプレートを作成する
>Step 2. 起動設定を作成する
>Step 3. Auto Scaling グループの作成
>Step 4. ロードバランサーが登録されたことを確認する
Step 1. 起動テンプレートを作成する
EC2ダッシュボードのテンプレートの起動から、「起動テンプレート」の「起動テンプレートを作成」を押下します。 起動テンプレート名、AMI、インスタンスタイプ、キーペア、セキュリティグループを選択していきます。「起動テンプレートを作成」を押下します。
設定後は以下のような内容となっています。
Step 2. 起動設定を作成する
起動設定から、「起動設定の作成」を押下します。 起動設定名、AMI、インスタンスタイプ、ストレージ、セキュリティグループ、キーペアを選択します。 「起動設定の作成」を押下します。
設定後は以下のような内容となっています。
Step 3. Auto Scaling グループの作成
Auto Scaling グループにて、「Auto Scaling グループを作成する」を押下します。 起動テンプレートまたは起動設定を選択する にて、「名前」と「起動テンプレート」を入力します。 インスタンスの購入オプションで「起動テンプレートに準拠する」を選択し、ネットワークでVPCとサブネットを選択します。(サブネットは可用性のため複数選択します)
詳細オプションを設定 にて、ロードバランシングの「新しいロードバランサーにアタッチ」を選択します。新しいロードバランサーにアタッチ にて、ロードバランサーのタイプ「ApplicationLoadBalancer」を選択し、 スキームは「Internet-facing」を選択します。「ターゲットグループを作成する」を選択します。
そのほかはデフォルトの入力内容としています。
グループサイズとスケーリングポリシーを入力します。最後の確認画面で設定内容を確認し、「Auto Scaling グループを作成」します。
設定後は以下のような内容となっています。
Step 4. ロードバランサーが登録されたことを確認する
AutoScalingグループのインスタンス管理タブより、希望する容量で指定した2つのインスタンスが起動されていることを確認します。
次に、ターゲットグループのターゲットタブより、インスタンスのステータスが「healthy」になっていることを確認します。 これで、AutoScalingGroupにロードバランサーが登録され、ヘルスチェックで「healthy」になっていることが確認できました。
結論
AutoScalingGroupにロードバランサーをアタッチして、確認するまでを実施しました。 Auto Scaling グループを Elastic Load Balancing ロードバランサーに登録することで、アプリケーションの負荷分散ができ、アプリケーションのスケーラビリティと可用性が向上します。
なお、上記の手順において、ELBの稼働確認用に、AMIには事前にApacheインストール済みで稼働確認用のvar/www/html/index.htmlを配置したものを使用しています。